﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tencent.OA.App
{

    /// <summary>
    /// 实体类的扩展方法
    /// </summary>
    public static class EntityExtensions
    {
        /// <summary>
        /// 可空datetime类型的扩展，如果类型为空，则返回默认值
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static DateTime IfNullDefault(this DateTime? dt)
        {
            if (dt == null)
                return (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            else
                return dt.Value;
        }
        /// <summary>
        /// 可空bool类型的扩展，如果类型为空，则返回默认值
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static bool IfNullDefault(this bool? flag)
        {
            if (flag == null)
                return false;
            else
                return flag.Value;
        }
        /// <summary>
        /// 可空byte类型的扩展，如果类型为空，则返回默认值
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static byte IfNullDefault(this byte? bt)
        {
            if (bt == null)
                return (byte)0;
            else
                return bt.Value;
        }
        /// <summary>
        /// 可空int类型的扩展，如果类型为空，则返回默认值
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static int IfNullDefault(this int? it)
        {
            if (it == null)
                return 0;
            else
                return it.Value;
        }

        /// <summary>
        /// 可空int类型的扩展，如果类型为空，则返回默认值
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static Guid IfNullDefault(this Guid? it)
        {
            if (it == null)
                return Guid.Empty;
            else
                return it.Value;
        }
    }
}
